"""
配置文件模板
请复制此文件为 config.py 并修改相应配置
"""

# =============================================================================
# QMT客户端配置
# =============================================================================

# 迅投QMT客户端userdata路径（必须修改）
USERDATA_PATH = r'D:\国金QMT交易端模拟\userdata_mini'

# 资金账号（必须修改）
ACCOUNT_ID = "39020958"

# 会话ID（可选，用于区分不同的交易会话）
SESSION_ID = "miniqmt_session"

# =============================================================================
# 交易配置
# =============================================================================

# 是否启用真实交易（生产环境设为True，测试时设为False）
ENABLE_REAL_TRADING = False

# 风险控制参数
MAX_POSITION_RATIO = 0.3        # 最大持仓比例（30%）
MAX_SINGLE_ORDER_AMOUNT = 10000 # 单笔最大交易金额（元）
SLIPPAGE = 0.002               # 滑点设置（0.2%）

# 默认交易参数
DEFAULT_PRICE_TYPE = 'limit'    # 默认价格类型：'market'市价, 'limit'限价
DEFAULT_TRADE_VOLUME = 100      # 默认交易数量（股）

# =============================================================================
# 数据源配置
# =============================================================================

# 是否使用qstock数据源
USE_QSTOCK = True

# 是否使用akshare数据源
USE_AKSHARE = True

# 数据获取重试次数
DATA_RETRY_TIMES = 3

# 数据获取超时时间（秒）
DATA_TIMEOUT = 30

# =============================================================================
# 策略配置
# =============================================================================

# 技术指标参数
MA_PERIODS = [5, 10, 20, 60]    # 移动平均线周期
RSI_PERIOD = 14                 # RSI周期
MACD_FAST = 12                  # MACD快线周期
MACD_SLOW = 26                  # MACD慢线周期
MACD_SIGNAL = 9                 # MACD信号线周期
BOLLINGER_PERIOD = 20           # 布林带周期
BOLLINGER_STD = 2               # 布林带标准差倍数

# 信号阈值
RSI_OVERSOLD = 30               # RSI超卖阈值
RSI_OVERBOUGHT = 70             # RSI超买阈值
KDJ_OVERSOLD = 20               # KDJ超卖阈值
KDJ_OVERBOUGHT = 80             # KDJ超买阈值

# 信号置信度阈值
MIN_SIGNAL_CONFIDENCE = 70      # 最小信号置信度

# =============================================================================
# 文件路径配置
# =============================================================================

# 数据存储目录
DATA_DIR = "data"

# 日志存储目录
LOG_DIR = "logs"

# 配置文件目录
CONFIG_DIR = "config"

# =============================================================================
# 日志配置
# =============================================================================

# 日志级别：DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL = "INFO"

# 是否启用文件日志
ENABLE_FILE_LOG = True

# 日志文件最大大小（MB）
LOG_MAX_SIZE = 10

# 日志文件保留数量
LOG_BACKUP_COUNT = 5

# =============================================================================
# 其他配置
# =============================================================================

# 是否显示详细输出
VERBOSE = True

# 是否启用调试模式
DEBUG_MODE = False

# 默认股票代码（用于测试）
DEFAULT_STOCK_CODE = "000001.SZ"

# 测试用股票代码列表
TEST_STOCK_CODES = [
    "000001.SZ",  # 平安银行
    "000002.SZ",  # 万科A
    "600000.SH",  # 浦发银行
    "600036.SH",  # 招商银行
    "000858.SZ"   # 五粮液
]

# =============================================================================
# 高级配置（一般不需要修改）
# =============================================================================

# API请求超时时间
API_TIMEOUT = 10

# 数据缓存时间（秒）
DATA_CACHE_TIME = 300

# 心跳检测间隔（秒）
HEARTBEAT_INTERVAL = 60

# 最大重连次数
MAX_RECONNECT_TIMES = 3